import http from 'utils/http';

/**
 * 获取角色列表
 * @param data.pageNumber      分页当前页
 * @param data.pageSize        分页每页的数量
 * @param data.name            角色名
 * @param data.organizationId  组织机构ID
 * @param data.validStat       可用状态：1-可用；0-禁用
 * @returns
 */
export const getRoleList = (data: any) => {
    return http({
        url: '/api/role/pageRoles',
        method: 'post',
        data,
    });
};

/**
 * 查询角色详情
 * @param data.id            角色ID
 * @returns
 */
export const getRoleDetail = (data: any) => {
    return http({
        url: '/api/role/queryDetailRole',
        method: 'post',
        data,
    });
};

/**
 * 创建角色
 * @param data.appId                   应用ID
 * @param data.name                    角色名称
 * @param data.roleKey                 角色标识
 * @param data.dataScope               数据视野 1-自定义 2-本级 3-本级及以上 4-本级及以下
 * @param data.dataScopeId             向上数据视野顶级视野id
 * @param data.organizationId          所属组织ID
 * @param data.customDataScopeOrgIds   自定义数据视野机构id数组
 * @param data.authMenus               角色关联菜单的id列表
 * @returns
 */
export const addRole = (data: any) => {
    return http({
        url: '/api/role/addRole',
        method: 'post',
        data,
    });
};

/**
 * 修改角色
 * @param data.id                      角色ID
 * @param data.appId                   应用ID
 * @param data.name                    角色名称
 * @param data.roleKey                 角色标识
 * @param data.dataScope               数据视野 1-自定义 2-本级 3-本级及以上 4-本级及以下
 * @param data.dataScopeId             向上数据视野顶级视野id
 * @param data.organizationId          所属组织ID
 * @param data.customDataScopeOrgIds   自定义数据视野机构id数组
 * @param data.authMenus               角色关联菜单的id列表
 * @returns
 */
export const editRole = (data: any) => {
    return http({
        url: '/api/role/modifyRole',
        method: 'post',
        data,
    });
};

/**
 * 修改角色状态
 * @param data.id            角色ID
 * @param data.validStat     角色修改后的状态（1-可用；0-禁用）
 * @returns
 */
export const updateRoleStatus = (data: any) => {
    return http({
        url: '/api/role/modifyValidStat',
        method: 'post',
        data,
    });
};

/**
 * 删除角色
 * @param data.id            角色ID
 * @returns
 */
export const deleteRole = (data: any) => {
    return http({
        url: '/api/role/delRole',
        method: 'post',
        data,
    });
};
